package com.jason.system.service;

import com.jason.system.common.util.Pager;
import com.jason.system.entity.Order;
import io.swagger.models.auth.In;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author jie
 * @version 1.0
 * success come from self-discipline
 * @date 2021/3/26 20:03
 */
public interface OrderService {


  /**
   * 获取所有订单
   * @param size 页数
   * @param page 每页个数
   * @return List<Order>
   */
  Pager<Order> getAllOrderS(Integer page , Integer size);

  /**
   * 获取未完成订单信息
   * @return List<Order>
   */
  List<Order> getAllOrderNotFinish();

  /**
   * 根据条件查询派单信息
   * @param address 地址
   * @param stuName 学习姓名
   * @param page 页数
   * @param size 每页个数
   * @return Pager<Order>
   */
  Pager<Order> searchOrders(Integer page , Integer size ,String address, String stuName);

  /**
   * 添加派单信息
   * @param order 派单信息
   */
  void insertOrder(Order order);

  /**
   * 更新派单信息
   * @param order 派单信息
   */
  void updateOrder(Order order);

  /**
   * 更新派单状态
   * @param status 派单状态
   * @param oId 派单id
   */
  void updateOrderStatus(Integer oId , Integer status);

  /**
   * 删除派单信息
   * @param oId 派单id
   * @return true or false
   */
  boolean deleteOrder(Integer oId);

  /**
   * 批量删除派单信息
   * @param oIds 派单id,String集合，以逗号分割
   * @return true or false
   */
  boolean deleteOrders(List<Integer> oIds);
}
